首先,先複習 RAG 和 LLM。
RAG(Retrieval-Augmented Generation 檢索增強生成):
是一種自然語言處理模型,結合檢索(Retrieval)和生成(Generation )技術。通過外部知識(例如:知識庫、文檔存儲庫)檢索到相關資訊後,再將這些資訊和語言生成模型結合,提高回覆的準確性和關聯性。
LLM(Large Language Model 大語言模型):
是一種經過深度學習的人工智能模型,經過大量的訓練,能理解人類語言並產生回覆,以往若要判斷使用者輸入的內容需要特別使用到斷字、斷詞資料庫才可以處理,且很難精準判斷語和意圖,而 LLM 可以在更高層次上理解語言和語意。
RAG + LLM 的結合:
當結合 RAG 和 LLM 時,查詢流程會是先透過檢索模組從向量資料庫(Chromadb)檢索相關資料,再把資料送到 LLM 生成合適的回應。這樣的做法使 LLM 可以不僅依賴語言模型去回覆,還可以根據向量資料庫裡的資料去做回覆,大幅提升回應的準確性。
接下來,我們會把 RAG + LLM 結合意圖分析來回應使用者,使得回應能更加精準,非常適合應用於如客服系統等需要精確查詢的場景。以下是運作邏輯。
查詢與意圖綜合處理:
1. 查詢分析與意圖識別:使用者的輸入(問題或請求),通過 OpenAI 模型解析使用者的輸入來識別其意圖,例如:詢問特定資訊,要求執行某個操作、或是提出建議等,可以透過訓練模型來識別類型的意圖。
2. 實體抽取:建立在意圖識別基礎上,從使用者的輸入中提取出具體的資訊(例如:景點名稱),實體是後續查詢的必要條件,幫助模型更精確了解查詢內容,可以更精確的做出回應。
3. 查詢處理與檢索:在了解意圖和實體後,模型可以進行查詢處理(例如:在使用 RAG(檢索增強生成)技術下,模型可以根據使用者的查詢從資料庫檢索相關資料,再利用檢索到的資料生成回答),查詢處理的部份結合資料檢索與生成技術,使回應更加精準和個性化。
4. 綜合生成回應:根據識別到的意圖、抽取實體和檢索到的資料,模型會生成回應,來回答使用者問題,回應會包含多方面資訊,結合查詢到的具體內容和意圖來提供相關答案。
根據以上步驟的結合,語言模型可以根據語言特徵、上下文和具體資料來生成更精確的回應。如果缺乏某些必要的資訊,機器人也可以引導使用者補充相關資訊後再進行回答,使聊天機器人的功能更加完善。
明天我們就會實際操作一次囉~